home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / asm / mach-default / setup_arch_post.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  936b  |  41 lines

  1. /**
  2.  * machine_specific_memory_setup - Hook for machine specific memory setup.
  3.  *
  4.  * Description:
  5.  *    This is included late in kernel/setup.c so that it can make
  6.  *    use of all of the static functions.
  7.  **/
  8.  
  9. static char * __init machine_specific_memory_setup(void)
  10. {
  11.     char *who;
  12.  
  13.  
  14.     who = "BIOS-e820";
  15.  
  16.     /*
  17.      * Try to copy the BIOS-supplied E820-map.
  18.      *
  19.      * Otherwise fake a memory map; one section from 0k->640k,
  20.      * the next section from 1mb->appropriate_mem_k
  21.      */
  22.     sanitize_e820_map(E820_MAP, &E820_MAP_NR);
  23.     if (copy_e820_map(E820_MAP, E820_MAP_NR) < 0) {
  24.         unsigned long mem_size;
  25.  
  26.         /* compare results from other methods and take the greater */
  27.         if (ALT_MEM_K < EXT_MEM_K) {
  28.             mem_size = EXT_MEM_K;
  29.             who = "BIOS-88";
  30.         } else {
  31.             mem_size = ALT_MEM_K;
  32.             who = "BIOS-e801";
  33.         }
  34.  
  35.         e820.nr_map = 0;
  36.         add_memory_region(0, LOWMEMSIZE(), E820_RAM);
  37.         add_memory_region(HIGH_MEMORY, mem_size << 10, E820_RAM);
  38.       }
  39.     return who;
  40. }
  41.